$(function () {
  //点击“去注册账号”的链接
  $("#link_reg").on("click", function () {
    $(".login-box").hide();
    $(".reg-box").show();
  });
  //点击“去登录”的链接
  $("#link_login").on("click", function () {
    $(".login-box").show();
    $(".reg-box").hide();
  });
  //从layui中获取form对象
  let form = layui.form;
  let layer = layui.layer;
  //通过 form.verify()函数自定义校验规则
  form.verify({
    //自定义了一个叫做 pwd 校验规则
    pwd: [/^[\S]{6,12}$/, "密码必须6到12位，且不能出现空格"],
    //校验两次密码是否一致的规则
    repwd: function (value) {
      //   通过形参拿到的是确认密码框中的内容
      //   还需要拿到密码框中的内容
      //   然后进行一次等于的判断
      //   如果判断失败，则return一个提示消息即可
      let pwd = $(".reg-box [name=password]").val();
      if (pwd !== value) {
        return "两次密码不一致";
      }
    },
  });
  $("#form_reg").on("submit", function (e) {
    //1.阻止默认的提交行为
    e.preventDefault();
    const data = {
      username: $("#form_reg [name=username]").val(),
      password: $("#form_reg [name=password]").val(),
      repassword: $("#form_reg [name=password]").val(),
    };
    //2.faqi Ajax的POST请求
    $.ajax({
      type: "POST",
      url: "/api/reg",
      data,
      success: function (res) {
        if (res.code !== 0) {
          return layer.msg(res.message);
        }
        layer.msg("注册成功，请登录！");
        //模拟人的点击行为
        $("#link_login").click();
      },
    });
  });
  //token-> 令牌；需要访问有权限的接口的时候，需要带着这个令牌去请求(拿着这个令牌的人：持票人)
  //请求头：{ Authorization:'Bearer xxxtoken' }
  $("#form_login").submit(function (e) {
    //阻止默认提交行为
    e.preventDefault();
    $.ajax({
      url: "/api/login",
      method: "POST",
      //快速获取表单中的数据
      data: $(this).serialize(),
      success: function (res) {
        if (res.code !== 0) {
          return layer.msg("登陆失败！");
        }
        layer.msg("登陆成功！");
        //将登录成功得到的token字符串，保存到localStorage中
        localStorage.setItem("token", res.token);
        //跳转到后台主页
        location.href = "/index.html";
      },
    });
  });
});
